package com.google.appengine.codelab;

import java.math.BigDecimal;
//import com.google.appengine.codelab.*;

/**
 * Classe para a gera��o automatica de massa de dados
 * 
 * @author fkfouri
 * 
 */
public class MassaDados {

	public static void load() {
		loadLocalidade();
		loadCliente();
		loadMidia();
		loadEstabelecimento();
		
		loadFraude();

		loadTransacao();
	}

	private static void loadFraude() {

		// for (int i = 1; i <= 99; i++) {
		// // Fraude.createOrUpdateFraude(fraude_id, fraude_name, fraude_type,
		// // fraude_forma_deteccao, fraude_data_deteccao, trans_id)
		// Fraude.createOrUpdateFraude(Common.cStr(i), "fraude" + i, "type"
		// + Common.random(4, 1), "forma_deteccao_" + i,
		// Common.dateAdd("01/05/2013", -i), Common.cStr(i));
		// }
		Fraude.createOrUpdateFraude("1", "fraude1", "Estelionato",
				"denuncia", "20130501", "1");
		Fraude.createOrUpdateFraude("2", "fraude2", "Auto-Fraude",
				"denuncia", "20130502", "2");
		Fraude.createOrUpdateFraude("3", "fraude3", "Fraude-Amiga",
				"auditoria", "20130503", "3");
		Fraude.createOrUpdateFraude("4", "fraude4", "Estelionato",
				"data mining", "20130504", "4");
		Fraude.createOrUpdateFraude("5", "fraude5", "Auto-Fraude",
				"data mining", "20130505", "5");
		Fraude.createOrUpdateFraude("6", "fraude6", "Fraude-Amiga",
				"denuncia", "20130506", "6");
	}

	private static void loadLocalidade() {
		// latitude e longitude
		// Localidade.createOrUpdateLocalidade(localidade_id,
		// localidade_latitude, localidade_longitude, localidade_address,
		// localidade_city, localidade_state, localidade_country,
		// localidade_zip)
		
		Localidade.createOrUpdateLocalidade("1", -23.302019F, -45.970509F,
				"localidade_1", "Jacarei", "SP", "Brasil", "12309-280");
		Localidade.createOrUpdateLocalidade("2", -23.298768F, -45.953343F,
				"localidade_2", "Jacarei", "SP", "Brasil", "12309-280");
		Localidade.createOrUpdateLocalidade("3", -23.177686F, -45.886545F,
				"localidade_3", "SJC", "SP", "Brasil", "12309-280");
		Localidade.createOrUpdateLocalidade("4", -23.536291F, -46.197939F,
				"localidade_4", "Mogi", "SP", "Brasil", "12309-280");
		Localidade.createOrUpdateLocalidade("5", -22.512557F, -43.186913F,
				"localidade_5", "Petropolis", "RJ", "Brasil", "12309-280");
		Localidade.createOrUpdateLocalidade("6", -22.9024276F, -43.10520172F,
				"localidade_6", "Niteroi", "RJ", "Brasil", "12309-280");
		Localidade.createOrUpdateLocalidade("7", -22.900767F, -43.108635F,
				"localidade_7", "Algum lugar", "SP", "Brasil", "12309-280");
	}
	
	
	private static void loadTransacao() {
		Transacao.createOrUpdateTransacao("1", "e-commerce",
				new BigDecimal("70.00").doubleValue(),
				"20130501", null, "10", "1", "1",
				"1");
		Transacao.createOrUpdateTransacao("2", "e-commerce",
				new BigDecimal("80.00").doubleValue(),
				"20130502", null, "20", "1", "1",
				"2");
		Transacao.createOrUpdateTransacao("3", "loja fisica",
				new BigDecimal("90.00").doubleValue(),
				"20130503", null, "30", "1", "1",
				"3");
		Transacao.createOrUpdateTransacao("4", "e-commerce",
				new BigDecimal("100.00").doubleValue(),
				"20130504", null, "40", "1", "1",
				"4");
		Transacao.createOrUpdateTransacao("5", "televendas",
				new BigDecimal("110.00").doubleValue(),
				"20130505", null, "50", "1", "1",
				"5");
		Transacao.createOrUpdateTransacao("6", "loja fisica",
				new BigDecimal("120.00").doubleValue(),
				"20130506", null, "60", "1", "1",
				"6");
		Transacao.createOrUpdateTransacao("7", "televendas",
				new BigDecimal("130.00").doubleValue(),
				"20130507", null, "60", "1", "1",
				"7");
	}

	private static void loadEstabelecimento() {
		// Estabelecimento.createOrUpdateEstabelecimento(estabelecimento_id,
		// estabelecimento_tipo, estabelecimento_nome, localidade_id)
		Estabelecimento.createOrUpdateEstabelecimento("10", "type1",
				"Estabelecimento 1", "1");
		Estabelecimento.createOrUpdateEstabelecimento("20", "type1",
				"Estabelecimento 2", "1");
		Estabelecimento.createOrUpdateEstabelecimento("30", "type2",
				"Estabelecimento 3", "2");
		Estabelecimento.createOrUpdateEstabelecimento("40", "type2",
				"Estabelecimento 4", "3");
		Estabelecimento.createOrUpdateEstabelecimento("50", "type3",
				"Estabelecimento 5", "5");
		Estabelecimento.createOrUpdateEstabelecimento("60", "type4",
				"Estabelecimento 6", "6");
	}

	private static void loadCliente() {
		Cliente.createOrUpdateCliente("1", "cliente_name", "cliente_firstName",
				"cliente_lastName", "3333-3333", "cliente_cpf",
				"cliente_email", "1");

	}

	private static void loadMidia() {
		Midia.createOrUpdateMidia("1", "midia_name", "midia_description",
				"1000", "visa", "1");
	}

}
